#include "includes.h"
#include "graphmagic.h"

//using namespace std;

namespace bt{
	class backtrack
	{
	private:
		vector<bool> usedLabels;
		uint32_t graphType,firstLabel,startPath,endPath,pathLabel;
		semtd * theGraph;
		inline void setLabel(uint32_t verPos,uint32_t verLabel);
		inline void removeLabel(uint32_t verPos);
		void walk(uint32_t currentLevel);
	public:
		backtrack();
		backtrack(uint32_t graphType,uint32_t numVer,uint32_t numDef,uint32_t firstLabel,bool isAll);
		bool RecurseAll;
		bool IsProcessing;
		bool IsSemt;
		void Walk();
		std::string Result;
	};
}
